package day11.lambda;

/*
 * Author: JacksonCoder
 * FileName: LambdaDemo
 * Version: 1.0.0
 * Date: 2025/4/20
 */

import java.util.function.BinaryOperator;
import java.util.function.Consumer;

/**
 * 基本语法:
 *      (参数列表) -> { 方法体 }
 */

public class LambdaDemo {
    /**
     *   接口       参数   返回值     用途说明
     * Consumer<T>	T	void	消费型（只用不回）
     * Supplier<T>	无	T	供给型（只提供）
     * Function<T,R>	T	R	转换型（T 转 R）
     * Predicate<T>	T	boolean	断言型（判断真假）
     * @param args
     */
    public static void main(String[] args) {

        // 无参无返回值
        Runnable r = () -> System.out.println("hello lambda");
        r.run();

        // 一个参数无返回值
        Consumer<String> printer = name -> System.out.println("Hi" + name);
        printer.accept("Nexora");

        // 多个参数有返回值
        BinaryOperator<Integer> add = (a, b) -> a + b;
        System.out.println(add.apply(3,6));

    }

}
